package cn.iocoder.yudao.module.member.controller.app.user.vo;

import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.enums.TerminalEnum;
import cn.iocoder.yudao.framework.ip.core.Area;
import cn.iocoder.yudao.framework.mybatis.core.type.LongListTypeHandler;
import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO;
import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO;
import cn.iocoder.yudao.module.system.enums.common.SexEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.URL;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "用户 App - 医生修改信息 Request VO")
@Data
public class AppMemberDoctorUpdateReqVO {

    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Long id;

    @Schema(description = "手机", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String mobile;

    @Schema(description = "帐号状态", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer status;

    @Schema(description = "最后登录时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private LocalDateTime loginDate;

    // ========== 基础信息 ==========

    @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String nickname;

    @Schema(description = "用户头像", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String avatar;

    @Schema(description = "真实名字", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String name;

    @Schema(description = "身份证号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String identityCard;

    @Schema(description = "性别", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer sex;

    @Schema(description = "出生日期", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private LocalDateTime birthday;

    @Schema(description = "所在地Id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String areaId;

    @Schema(description = "所在地名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String areaName;

    @Schema(description = "用户备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String mark;

    @Schema(description = "微信", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String wxMobile;

    @Schema(description = "自我介绍", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String introduce;

    @Schema(description = "其他数据", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String  others;
    // ========== 医生信息 ==========

    @Schema(description = "医师资格证", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String physicianMedicalImageurl;

    @Schema(description = "医师执业证书", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String physicianPracticeImageurl;

    @Schema(description = "身份证正面照", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String userIdentityCardFront;

    @Schema(description = "身份证反面照片", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String userIdentityCardBehind;

    @Schema(description = "出诊信息", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String visitMessage;

    @Schema(description = "简历", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String curriculum;

    @Schema(description = "疾病编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String illnessIds;


}
